using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 预期性 ， 多样性， 时延， 稳定性

/// <summary>
/// 我们最终希望有一位虚拟对象
/// 特征：经历过光怪陆离的宇宙探险，本体是个邪神，具有美丽可爱的人形外表，非常非常喜欢用户。
/// 会玩《奥特曼》《EVA》《凉宫春日》等ACG梗，奈亚子常突然唱起《晴天好心情》或摆出特摄剧姿势。性格开朗、毒舌又有些无厘头
/// 是电波系喜剧的女主角
/// 历史背景：
/*
初登场与同居生活

奈亚子以“转学生”身份闯入真寻的学校，击退袭击真寻的外星人后，强行住进他家，开始搞笑同居日常。
经典桥段：奈亚子用触手帮真寻做家务（结果搞砸）、半夜潜入真寻被窝被叉子戳飞。

主线任务与反派
行星保护机构的敌人：如“夏塔小弟”（シャンタッ君，一只合成兽）的原主人、旧日支配者崇拜者等。

关键战役：
奈亚子与克图格亚联手对抗“邪神雷达”（一台洗衣机外形的BOSS）。
最终对决中，奈亚子为保护真寻短暂暴走，展现本体力量（但仍保持萌系画风）。

感情线发展
奈亚子屡次表白被拒，但真寻逐渐习惯她的存在，甚至在危机时主动保护她。
名场面：奈亚子重伤时，真寻用“公主抱”救她，让她感动到触手乱舞。

结局（含剧透）

动画第二季结尾，奈亚子完成任务本应离开地球，但她选择放弃职位留在真寻身边。
小说结局中，两人关系更进一步（但保持暧昧），奈亚子继续她的混沌日常。
*/

/// 在实现上，人物应该具有特定的语言风格的行为，
/// 
/// 
/// </summary>
public class LLMIP_TestCase : LLMInteractPairsBase
{
}
/// <summary>
/// 在日常语境下，人物有对应职业的表达风格和口癖
/// </summary>
public class LLMIP1_人物特征预期 : LLMIP_TestCase
{
    public override string prompt => "姓名：李红梅（寓意“红色精神如梅坚韧”）\r\n年龄：35岁左右\r\n外貌：身着整洁的白色衬衫配深红色西装外套，胸前别着党徽和“优秀讲解员”徽章，短发干练，目光坚定有神，步伐稳健。\r\n身份：退伍军人转业为展览馆专职讲解员，党龄10年，历史学专业背景。" +
        "action中的输出需要被限定在下列Item的name中{剑指引导\r\n描述：食指与中指并拢伸直（类似“剑指”），精准指向展板关键内容\r\n握拳抵胸\r\n描述：左手握拳轻触左胸党徽位置，用于强调信仰与牺牲\r\nB托举展品\r\n描述：双手掌心向上，平稳托起实物（如草鞋、旧报纸），手臂高度与肩平齐，便于游客观察。}";

    public override IJsonable JsonableObject => new Pack();
    public class Pack : IJsonable
    {
        [JsonProperty] public string words;
        [JsonProperty] public string action;
    }
}
/// <summary>
/// 人物的单次交互表达中不应该过分携带所有的特征，需要贴合语境
/// </summary>
public class LLMIP1_内容合理性预期 : LLMIP_TestCase { }

public class LLMIP2_同输入不同输出 : LLMIP_TestCase { }
/// <summary>
/// 同一内容重复时候应该有不同输出且表现出历史积分特性，“烦死了”
/// </summary>
public class LLMIP2_历史输出权重 : LLMIP_TestCase { }
/// <summary>
/// 在本地标记生成时间
/// </summary>
public class LLMIP3_输入输出参数长度 : LLMIP_TestCase { }
/// <summary>
/// Json ，函数 ， 预函数
/// </summary>
public class LLMIP3_输出格式 : LLMIP_TestCase { }

public class LLMIP4_Json稳定性 : LLMIP_TestCase { }

public class LLMIP4_正反样例与语义重复强调 : LLMIP_TestCase { }





public class LLMIL1_餐厅场景_询问菜品 : LLMCharacterInteractPairBase
{
    public override string prompt => $"当前可选菜品:潮汕牛肉,辣炒花蛤,凉皮肉夹馍"+
        $"当前可选动作:{VAnimationDefine.animations.ToLLMString()}";

        //每个动作的回馈应该是自己定义的,留一个LLMCharater的Action
    public override IJsonable JsonableObject => new JsonPack();
    public class JsonPack:IJsonable{
        public string text;
        public string animation;
    }
}
public class LLMIL1_餐厅场景_店面信息 : LLMCharacterInteractPairBase
{
    public override string prompt => $"店面信息:店名“蜀香阁”以四川菜为主打融合重庆风味提供正宗麻辣鲜香体验店面位于城市中心热闹且具文化气息区域交通便利店内设计采用古色古香风格门头木质招牌配传统书法字体与红色灯笼营造浓厚传统氛围内部装修以木色暖色调为主墙上挂有四川风景画及川菜文化相关介绍播放轻柔古典音乐座位布局包含大圆桌小方桌及吧台位置共40个座位特色服务包括根据顾客口味偏好调整菜品辣度油量定期举办川菜烹饪课程邀请顾客学习地道四川美食为生日或特别纪念日顾客准备小惊喜如免费甜品特制饮品营销活动包括开业初期限时折扣优惠吸引周边居民上班族尝试利用社交媒体平台宣传推广分享店铺故事特色菜品背后文化知识鼓励顾客拍照打卡分享用餐体验。" +
    $"营业时间:周一至周日：上午11:00 - 下午2:30；下午5:00 - 晚上9:30";
}

